home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / DPBCO.z / DPBCO
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDPPPPBBBBCCCCOOOO((((3333FFFF))))                                                            DDDDPPPPBBBBCCCCOOOO((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DPBCO   - DPBCO factors a double precision symmetric positive definite
  10.      matrix stored in band form and estimates the condition of the matrix.
  11.  
  12.      If  RCOND  is not needed, DPBFA is slightly faster.  To solve  A*X = B ,
  13.      follow DPBCO by DPBSL.  To compute  INVERSE(A)*C , follow DPBCO by DPBSL.
  14.      To compute  DETERMINANT(A) , follow DPBCO by DPBDI.
  15.  
  16.  
  17. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  18.       SUBROUTINE DPBCO(ABD,LDA,N,M,RCOND,Z,INFO)
  19.  
  20. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.      On Entry
  22.  
  23.      AAAABBBBDDDD DOUBLE PRECISION(LDA, N)
  24.         the matrix to be factored.  The columns of the upper
  25.         triangle are stored in the columns of ABD and the
  26.         diagonals of the upper triangle are stored in the
  27.         rows of ABD .  See the comments below for details.
  28.  
  29.      LLLLDDDDAAAA INTEGER
  30.         the leading dimension of the array  ABD .
  31.         LDA must be .GE. M + 1 .
  32.  
  33.      NNNN INTEGER
  34.         the order of the matrix  A .
  35.  
  36.      MMMM INTEGER
  37.         the number of diagonals above the main diagonal.
  38.         0 .LE. M .LT.  N .  On Return
  39.  
  40.      AAAABBBBDDDD an upper triangular matrix  R , stored in band
  41.         form, so that  A = TRANS(R)*R .
  42.         If  INFO .NE. 0 , the factorization is not complete.
  43.  
  44.      RRRRCCCCOOOONNNNDDDD DOUBLE PRECISION
  45.         an estimate of the reciprocal condition of  A .
  46.         For the system  A*X = B , relative perturbations
  47.         in  A  and  B  of size  EPSILON  may cause
  48.         relative perturbations in  X  of size  EPSILON/RCOND .
  49.         If  RCOND  is so small that the logical expression
  50.         1.0 + RCOND .EQ. 1.0
  51.         is true, then  A  may be singular to working
  52.         precision.  In particular,  RCOND  is zero  if
  53.         exact singularity is detected or the estimate
  54.         underflows.  If INFO .NE. 0 , RCOND is unchanged.
  55.  
  56.      ZZZZ DOUBLE PRECISION(N)
  57.         a work vector whose contents are usually unimportant.
  58.         If  A  is singular to working precision, then  Z  is
  59.         an approximate null vector in the sense that
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDPPPPBBBBCCCCOOOO((((3333FFFF))))                                                            DDDDPPPPBBBBCCCCOOOO((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .
  75.         If  INFO .NE. 0 , Z  is unchanged.
  76.  
  77.      IIIINNNNFFFFOOOO INTEGER
  78.         = 0  for normal return.
  79.         = K  signals an error condition.  The leading minor
  80.         of order  K  is not positive definite.  Band Storage
  81.         If  A  is a symmetric positive definite band matrix,
  82.         the following program segment will set up the input.
  83.         M = (band width above diagonal)
  84.         DO 20 J = 1, N
  85.         I1 = MAX0(1, J-M)
  86.         DO 10 I = I1, J
  87.         K = I-J+M+1
  88.         ABD(K,J) = A(I,J)
  89.         10    CONTINUE
  90.         20 CONTINUE
  91.         This uses  M + 1  rows of  A , except for the  M by M
  92.         upper left triangle, which is ignored.  Example:  If the original
  93.      matrix is
  94.         11 12 13  0  0  0
  95.         12 22 23 24  0  0
  96.         13 23 33 34 35  0
  97.         0 24 34 44 45 46
  98.         0  0 35 45 55 56
  99.         0  0  0 46 56 66 then  N = 6 , M = 2  and  ABD  should contain
  100.         *  * 13 24 35 46
  101.         * 12 23 34 45 56
  102.         11 22 33 44 55 66 LINPACK.  This version dated 08/14/78 .  Cleve
  103.      Moler, University of New Mexico, Argonne National Lab.  Subroutines and
  104.      Functions LINPACK DPBFA BLAS DAXPY,DDOT,DSCAL,DASUM Fortran
  105.      DABS,DMAX1,MAX0,MIN0,DREAL,DSIGN
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.